Allow blkback to be built as a module.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 28 Feb 2006 17:56:00 +0000 (18:56 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Tue, 28 Feb 2006 17:56:00 +0000 (18:56 +0100)
From: Jan Beulich

Signed-off-by: Keir Fraser <keir@xensource.com>
linux-2.6-xen-sparse/drivers/xen/Kconfig
linux-2.6-xen-sparse/drivers/xen/blkback/Makefile
linux-2.6-xen-sparse/drivers/xen/blkback/blkback.c

index 94ee23a49a461cd158426ec762aaf3926cd01a6b..046de51a217bdb71826a047ba6c404d87d725979 100644 (file)
@@ -68,7 +68,7 @@ config XEN_PCIDEV_BE_DEBUG
        default n
 
 config XEN_BLKDEV_BACKEND
-       bool "Block-device backend driver"
+       tristate "Block-device backend driver"
        default y
        help
          The block-device backend driver allows the kernel to export its
@@ -76,7 +76,7 @@ config XEN_BLKDEV_BACKEND
          interface.
 
 config XEN_BLKDEV_TAP_BE
-        bool "Block Tap support for backend driver (DANGEROUS)"
+        tristate "Block Tap support for backend driver (DANGEROUS)"
         depends on XEN_BLKDEV_BACKEND
         default n
         help
@@ -145,7 +145,7 @@ config XEN_NETDEV_FRONTEND
          (domain 0), then you almost certainly want to say Y here.
 
 config XEN_BLKDEV_TAP
-       bool "Block device tap driver"
+       tristate "Block device tap driver"
        default n
        help
          This driver allows a VM to interact on block device channels
index 1bdc43fc24342398cf355c57ff27c259c0e45ddb..8bab63da3b3e50d6cc2f61f5c07bed18e16d084b 100644 (file)
@@ -1,2 +1,3 @@
+obj-$(CONFIG_XEN_BLKDEV_BACKEND) := blkbk.o
 
-obj-y  := blkback.o xenbus.o interface.o vbd.o
+blkbk-y        := blkback.o xenbus.o interface.o vbd.o
index 23b47b5f72dc48c8812bb45197ab46a58237dad8..d624cafe95c760ad4c46f01f5f79a20d44588731 100644 (file)
  * 64 should be enough to keep us competitive with Linux.
  */
 static int blkif_reqs = 64;
-static int mmap_pages;
+module_param_named(reqs, blkif_reqs, int, 0);
+MODULE_PARM_DESC(reqs, "Number of blkback requests to allocate");
 
-static int __init set_blkif_reqs(char *str)
-{
-       get_option(&str, &blkif_reqs);
-       return 1;
-}
-__setup("blkif_reqs=", set_blkif_reqs);
+static int mmap_pages;
 
 /* Run-time switchable: /sys/module/blkback/parameters/ */
 static unsigned int log_stats = 0;
@@ -574,10 +570,20 @@ static int __init blkif_init(void)
                list_add_tail(&pending_reqs[i].free_list, &pending_free);
     
        blkif_xenbus_init();
+       __unsafe(THIS_MODULE);
        return 0;
 }
 
-__initcall(blkif_init);
+module_init(blkif_init);
+
+static void blkif_exit(void)
+{
+       BUG();
+}
+
+module_exit(blkif_exit);
+
+MODULE_LICENSE("Dual BSD/GPL");
 
 /*
  * Local variables: